package uslugi;

import java.util.Date;
import java.util.List;

import klient.Klient;
import util.*;

public class LokataKlienta {
	private long id;
	private Klient wlasciciel;
	private Lokata lokata;
	private int kwota;
	private TypLokatyEnum typLokaty;
	private Date dataUtworzenia;
	
	
	public LokataKlienta(long id, Klient wlasciciel, Lokata lokata, int kwota,
			TypLokatyEnum typLokaty, Date dataUtworzenia) {
		super();
		this.id = id;
		this.wlasciciel = wlasciciel;
		this.lokata = lokata;
		this.kwota = kwota;
		this.typLokaty = typLokaty;
		this.dataUtworzenia = dataUtworzenia;
	}
	
	public LokataKlienta(long id, long idWlasciciela, long idLokaty, int kwota,
			String typLokatyS, Date dataUtworzenia) {
		super();
		this.id = id;
		
		List<Klient> klienci = null;
		try {
			klienci = ObjectPlus.pobierzEkstensje(Klient.class);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(Klient k: klienci){
			if(k.getId() == idWlasciciela){
				this.wlasciciel = k;
			}
		}
		
		List<Lokata> lokaty = null;
		try {
			lokaty = ObjectPlus.pobierzEkstensje(Lokata.class);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(Lokata l: lokaty){
			if(l.getId() == idLokaty){
				this.lokata = l;
			}
		}
		
		this.kwota = kwota;
		//this.typLokaty = EnumConverter.dajTypLokaty(typLokatyS.trim());
		this.typLokaty = TypLokatyEnum.fromNazwa(typLokatyS.trim());
		this.dataUtworzenia = dataUtworzenia;
	}

	public void dajInfo(){
		
		System.out.println("Klient: " + wlasciciel.getImie() + " " + wlasciciel.getNazwisko() + " zalozyl Lokate dnia " + dataUtworzenia);
		System.out.println(lokata);
		System.out.println("Jest to lokata typu=" + typLokaty  + " na kwote=" + kwota + "PLN");
		System.out.println("");
	}
	
	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public Klient getWlasciciel() {
		return wlasciciel;
	}

	public void setWlasciciel(Klient wlasciciel) {
		this.wlasciciel = wlasciciel;
	}

	public Lokata getLokata() {
		return lokata;
	}

	public void setLokata(Lokata lokata) {
		this.lokata = lokata;
	}

	public int getKwota() {
		return kwota;
	}

	public void setKwota(int kwota) {
		this.kwota = kwota;
	}

	public TypLokatyEnum getTypLokaty() {
		return typLokaty;
	}

	public void setTypLokaty(TypLokatyEnum typLokaty) {
		this.typLokaty = typLokaty;
	}

	public Date getDataUtworzenia() {
		return dataUtworzenia;
	}

	public void setDataUtworzenia(Date dataUtworzenia) {
		this.dataUtworzenia = dataUtworzenia;
	}
	
	
	
	

	
	
}
